using System;
using System.Collections.Generic;
using System.Text;
using csharp.rad.general;

namespace csharp.rad.sisponto
{
   public class FolhaPagamento
   {
      private Database bd;
      public Database.Result result = new Database.Result();
      private String f_msgErro;
      private Int32 f_id_folha_pagamento;
      private Int32 f_id_func;
      private DateTime f_data_geracao;
      private DateTime f_data_referencia;
      private DateTime f_total_horas;
      private Double f_valor_liquido;
      private Double f_irrf;
      private Double f_inss;
      private Double f_desconto;
      private Double f_adicional;
      private Double f_valor_total;

      public FolhaPagamento(Database bancoDeDados)
      {
         this.bd = bancoDeDados;
      }

      public Int32 id_folha_pagamento
      {
         get { return f_id_folha_pagamento; }
         set { f_id_folha_pagamento = value; }
      }
      public Int32 id_func
      {
         get { return f_id_func; }
         set { f_id_func = value; }
      }
      public DateTime data_geracao
      {
         get { return f_data_geracao; }
         set { f_data_geracao = value; }
      }
      public DateTime data_referencia
      {
         get { return f_data_referencia; }
         set { f_data_referencia = value; }
      }
      public DateTime total_horas
      {
         get { return f_total_horas; }
         set { f_total_horas = value; }
      }
      public Double valor_liquido
      {
         get { return f_valor_liquido; }
         set { f_valor_liquido = value; }
      }
      public Double irrf
      {
         get { return f_irrf; }
         set { f_irrf = value; }
      }
      public Double inss
      {
         get { return f_inss; }
         set { f_inss = value; }
      }
      public Double desconto
      {
         get { return f_desconto; }
         set { f_desconto = value; }
      }
      public Double adicional
      {
         get { return f_adicional; }
         set { f_adicional = value; }
      }
      public Double valor_total
      {
         get { return f_valor_total; }
         set { f_valor_total = value; }
      }

      public int inserir()
      {
         String _sql;

         _sql = "INSERT INTO folha_pagamento (id_folha_pagamento,id_func,data_geracao,data_referencia, "
              + " total_horas,valor_liquido,irrf,inss,desconto,adicional,valor_total) "
              + " VALUES(''," + f_id_func + ",'" + f_data_geracao + "','" + f_data_referencia + "','" + f_total_horas
              + "','" + f_valor_liquido + "','" + f_irrf + "','" + f_inss + "','" + f_desconto + "','" + f_adicional
              + "','" + f_valor_total + "')";

         result = bd.ExecuteCommand(_sql, Database.doNotUseTransaction);

         if (result.Status == Database.Status.Failed)
         {
            f_msgErro = result.ErrorMessage;
            return -1;
         }
         return 1;
      }
   }
}
